package TreeMap;

import java.util.Comparator;
import java.util.TreeMap;

/**
 * Date: 2023-04-20
 * Time: 11:03
 */
public class TreeMapDemo1 {
    public static void main(String[] args) {
        /*
        * TreeMap
        * TreeMap跟TreeSet底层原理一样，都是红黑树结构的
        * 由键决定特性:不重复、无索引、可排序
        * 可排序:对键进行排序。
        * 注意:默认按照键的从小到大进行排序，也可以自己规定键的排序规则
        * 代码书写两种排序规则
        *  1.实现Comparable接口，指定比较规则。
        *  2.创建集合时传递Comparator比较器对象，指定比较规则。
        *
        * 如果两种都写了,以第二种为准
        * */

        // 创建集合对象
        TreeMap<Integer,String> goods = new TreeMap<>(new Comparator<Integer>() {
            // 创建比较器对象,实现降序
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2-o1;
            }
        });

        // 添加商品
        goods.put(2,"足球");
        goods.put(1,"篮球");
        goods.put(3,"乒乓球");

        goods.comparator();

        // Lambda 遍历
        goods.forEach((key,value)-> System.out.println(key+" "+value));
    }
}
